package cn.com.qingz.modules.system.service;

import java.util.List;

import com.github.miemiedev.mybatis.paginator.domain.PageList;

import tk.mybatis.mapper.entity.Example;

public interface GeneralService<T> {
    /**
     * 获取
     * @param id
     * @return
     */
    public T get(Object id);

    /**
     * 新增
     * @param t
     */
    public void doSave(T t);

    /**
     * 修改
     * @param t
     */
    public void doUpdate(T t);

    /**
     * 删除
     */
    public void doDel(T t);

    public void doDelById(Object id);

    /**
     * 新增或者修改
     * @param t
     */
    public void doAddOrUpdate(T t);

    /**
     * 获取所有
     * @return
     */
    public List<T> queryAll();

    public boolean isExist(Example example);

    /**
     * 分页查询
     * @param condition
     * @param page
     * @param limit
     * @return
     */
    public PageList<T> queryForPage(Object condition, int page, int limit);

}
